Navigating an autonomous vehicle based upon an image from a mobile computing device

ABSTRACT

An autonomous vehicle receives geographic location data defined via a mobile computing device operated by a user. The geographic location data is indicative of a device position of the mobile computing device. The autonomous vehicle also receives image data generated by the mobile computing device. The image data is indicative of a surrounding position nearby the device position. The surrounding position is selected from an image captured by a camera of the mobile computing device. A requested vehicle position (e.g., a pick-up or drop-off location) is set for a trip of the user in the autonomous vehicle based on the geographic location data and the image data. A route from a current vehicle position of the autonomous vehicle to the requested vehicle position for the trip of the user in the autonomous vehicle is generated. Moreover, the autonomous vehicle can follow the route to the requested vehicle position.

BACKGROUND

An autonomous vehicle is a motorized vehicle that can operate withouthuman conduction. An exemplary autonomous vehicle includes a pluralityof sensor systems, such as, but not limited to, a lidar sensor system, acamera sensor system, and a radar sensor system, amongst others, whereinthe autonomous vehicle operates based upon sensor signals output by thesensor systems.

Conventionally, when a user would like an autonomous vehicle to pick himor her up at a specified location, a mobile computing device of the user(e.g., a smartphone) receives input from the user indicative of thespecified location (e.g., an address) for pick-up and a desired locationfor drop-off. Alternatively, the mobile computing device may employ ageocoding system (e.g., concise spatial query and representation system(C-Squares), Universal Transverse Mercator (UTM) coordinates, latitudeand longitude coordinates, etc.) to ascertain the specified location.The mobile computing device causes data indicative of the specifiedlocation to be received by the autonomous vehicle, and the autonomousvehicle then generates and follows a route to the specified locationbased upon the data. Once at the specified location, the user may enterthe autonomous vehicle and the autonomous vehicle may then transport theuser to the specified location.

Using only an address and/or a geocoding system to specify a pick-uplocation for an autonomous vehicle has various deficiencies. A usertypically does not memorize addresses, and as such, the user may moreeasily recognize locations in terms of human sensory factors such assight or sound. To illustrate, the user may frequent a coffee shop, butmay not be aware of the address of the coffee shop. Instead, the usermay remember that the coffee shop is located on his or her commute towork on the left-hand side of a particular street. Moreover, if the useris in an unfamiliar region, then the user may be unaware of informationpertaining to his or her current location beyond information receivedfrom his or her senses.

Additionally, an address can span a large area and may have manypossible pick-up and/or drop-off locations that all fall within theaddress. In an example, if the user has specified an address of astadium as a pick-up location, the address may include regions that areundesirable or inconvenient for user pick-up (e.g., an area of a roadimmediately adjacent to an occupied bus stop, an area of a road with alarge puddle, an area of a road with a temporary barricade between theroad and a sidewalk, an area of a road in a construction zone, etc.).Moreover, many vehicles share similar visual characteristics, and it maybe difficult for the user to identify the autonomous vehicle assigned toprovide the ride for the user from amongst a plurality of vehicles(including other autonomous vehicles) in an area surrounding the user.

Use of geocoding systems in determining a pick-up or drop-off locationalso has various drawbacks. For instance, a mobile computing device maytransmit GPS coordinates indicative of a current position of a user ofthe mobile computing device as pick-up coordinates, but the user may notactually want the pick-up location to be at his or her current position.While certain pick-up systems may enable the user to specify a pick-uplocation other than his or her current location, these systems may lackprecision and the autonomous vehicle may arrive at a position that wasnot intended by the user.

SUMMARY

The following is a brief summary of subject matter that is described ingreater detail herein. This summary is not intended to be limiting as tothe scope of the claims.

Described herein are various technologies pertaining to controllingoperation of an autonomous vehicle. More specifically, the technologiesdescribed herein enable an autonomous vehicle to navigate to a requestedvehicle position indicated by an image captured by a camera of a mobilecomputing device operated by a user. Also described herein is agraphical user interface (GUI) that can be displayed on a display of themobile computing device that indicates a presence of the autonomousvehicle at the requested vehicle position as a graphical overlay to animage.

According to various embodiments, an autonomous vehicle includes avehicle propulsion system, a braking system, a steering system, andsensor systems. The autonomous vehicle also includes a computing systemthat is in communication with the vehicle propulsion system, the brakingsystem, the steering system, and the sensor systems. The sensor systemsproduce sensor signals, and the computing system of the autonomousvehicle may control at least one of the vehicle propulsion system, thebraking system, or the steering system based upon the sensor signals.

In operation, it is contemplated that a user may wish to be picked up ordropped off by an autonomous vehicle. As such, a mobile computing deviceoperated by the user may capture an image utilizing a camera of themobile computing device. The mobile computing device can begeographically located at a device position when the image is captured(e.g., the user can be assumed to be at the device position). Moreover,the image can be captured responsive to input of the user. The image canrepresent a location at which the autonomous vehicle desirably picks upor drops off the user for a trip in the autonomous vehicle; thus, anintended pick-up or drop-off location can be set by the user as being ina field of view of the camera of the mobile computing device when theimage is captured by the mobile computing device. It is contemplatedthat the image can be a still image, a video (or a portion of a video),or the like.

The mobile computing device can further generate geographic locationdata. The geographic location data is indicative of the device positionof the mobile computing device. For instance, when the image iscaptured, the geographic location data can be generated. In an example,the geographic location data can include global positioning system (GPS)coordinates of the device location, an address corresponding to thedevice location, an intersection of roads corresponding to the devicelocation, or a name of a location corresponding to the device location.

Moreover, the mobile computing device can generate image data based uponthe image. The image data is indicative of a surrounding position nearbythe device position, where the surrounding position is selected from theimage. It is contemplated that the surrounding position can beautomatically selected from the image (e.g., without user input,selected by the mobile computing device, the autonomous vehicle, and/ora server computing system) or selected based on user input. The imagedata can include a distance between an object in the image at thesurrounding position and the mobile computing device at the deviceposition, a cardinal orientation of the camera of the mobile computingdevice when the image is captured, or a selected point within the image.The image data may also include the image.

In an embodiment, the mobile computing device may display the image tothe user on a display of the mobile computing device. The mobilecomputing device can receive a selection (e.g., via user input) of apoint within the image displayed on the display, wherein the point thatis selected specifies the surrounding position; accordingly, the imagedata generated based upon the image can include data indicative of thepoint that is selected. In another embodiment, the mobile computingdevice may be configured to automatically select the surroundingposition (e.g. selecting a point in a central region of the image,selecting the surrounding position based on an object detected in theimage, etc.).

Further, the mobile computing device can transmit the geographiclocation data and the image data to the autonomous vehicle by way of anetwork. The geographic location data and the image data can cause theautonomous vehicle to traverse to a requested vehicle positioncorresponding to the surrounding position for the trip of the user inthe autonomous vehicle. By way of illustration, the surrounding positioncan be an entrance of an arena, and the requested vehicle positioncorresponding to the surrounding position can be a location on a streetin front of the entrance of the arena.

In particular, the autonomous vehicle can receive the geographiclocation data defined via the mobile computing device of the user andthe image data generated by the mobile computing device. As noted above,the geographic location data can be indicative of the device position ofthe mobile computing device of the user, and the image data can beindicative of the surrounding position nearby the device position. Theautonomous vehicle can set the requested vehicle position for the tripof the user in the autonomous vehicle based on the geographic locationdata and the image data. Moreover, the autonomous vehicle can generate aroute from a current vehicle position of the autonomous vehicle to therequested vehicle position for the trip of the user in the autonomousvehicle. Subsequent to generating the route, the autonomous vehicle maycontrol at least one of the vehicle propulsion system, the brakingsystem, or the steering system to cause the autonomous vehicle to followthe route to the requested vehicle position.

Responsive to an arrival of the autonomous vehicle at the requestedvehicle position, the autonomous vehicle may transmit a message (e.g.,to the mobile computing device) indicative of the arrival of theautonomous vehicle at the requested vehicle position. The message mayalso include data indicative of the position of the autonomous vehicle;yet, the claimed subject matter is not so limited.

The mobile computing device may receive input from the user causing themobile computing device to capture a second image utilizing the camera(e.g., after receiving the message indicative of the arrival of theautonomous vehicle). Subsequent to capturing the second image, themobile computing device may display a GUI on a display of the mobilecomputing device. The GUI can include the second image capturedutilizing the camera and a graphical overlay. The graphical overlay canindicate a presence of the autonomous vehicle at the requested vehicleposition. The graphical overlay can highlight the autonomous vehiclewithin the second image with visual indicia. In an example, the visualindicia can be coloring, a pattern, or the like that overlays the secondimage. The mobile computing device can generate the graphical overlay ofthe GUI based on the second image and data included in the messagereceived from the autonomous vehicle indicating that the autonomousvehicle has arrived at the requested vehicle position. Pursuant to anillustration, the second image may be generated from a live-view ofvideo obtained using the camera of the mobile computing device. Forinstance, as a field of view of the camera is changed over time, themobile computing device may modify the GUI to allow for identifying theautonomous vehicle (e.g., shown via the graphical overlay on thelive-view of the video).

In an embodiment, subsequent to the autonomous vehicle arriving at therequested vehicle position, the mobile computing device can receivedirection data indicative of a path (e.g., from a current position ofthe user) to the requested vehicle position. The mobile computing devicemay display the direction data as part of the GUI on the display of themobile computing device (e.g., presented to the user). In a specificexample, displaying the direction data may include presenting a seriesof graphical arrows within the graphical overlay of the GUI. Each arrowin the series of arrows may indicate a step to take in order to reachthe requested vehicle position at which the autonomous vehicle islocated.

In an example, an image can be captured utilizing the camera of themobile computing device subsequent to the arrival of the autonomousvehicle at the requested vehicle position. At least a portion of theautonomous vehicle can be depicted in this image. Accordingly, theautonomous vehicle can be authenticated based on the image. Moreover,responsive to authenticating the autonomous vehicle, an authenticationnotification that indicates authentication of the autonomous vehicle inthe image can be transmitted from the mobile computing device. Theauthentication notification can be received by the autonomous vehicle;responsive to receipt of the authentication notification from the mobilecomputing device, the autonomous vehicle can cause a door (or doors) ofthe autonomous vehicle to unlock.

It is to be appreciated that the requested vehicle position can be apick-up location for the trip of the user in the autonomous vehicle.Alternatively, it is contemplated that the requested vehicle positioncan be a drop-off location for the trip of the user in the autonomousvehicle. Further, a drop-off location or a pick-up location for the tripof the user in the autonomous vehicle can be adjusted utilizing thetechniques set forth herein (e.g., the drop-off location can be changedto the requested vehicle position while the user is riding in theautonomous vehicle utilizing the techniques set forth herein).

In various embodiments, a server computing system that is in networkcommunication with the autonomous vehicle and the mobile computingdevice may perform some of the above-described functionality in place ofthe autonomous vehicle and/or the mobile computing device. For example,the server computing system may receive the geographic location dataindicative of the device position and the image captured by the cameraof the mobile computing device. Furthermore, the server computing systemmay select a surrounding position nearby the device position based onthe image. Moreover, the server computing system can identify arequested vehicle position for a trip of the user in the autonomousvehicle based on the geographic location data and the surroundingposition. The server computing system can transmit a command to theautonomous vehicle to cause the autonomous vehicle to traverse to therequested vehicle position for the trip of the user in the autonomousvehicle.

The above-described technologies present various advantages overconventional technologies relating to causing an autonomous vehicle tonavigate to a pick-up or a drop-off location. For instance, bynavigating based in part upon an image (and not solely on geographiclocation data), the autonomous vehicle may arrive at a pick-up or adrop-off location in a more efficient fashion, leading to fasterpick-up/drop-off times. Moreover, the GUI displayed on the display ofthe mobile computing device enables faster detection of the autonomousvehicle by the user as compared to conventional methods. Further, thetechniques set forth herein allow for the user to alter the pick-up ordrop-off location in an efficient manner, without needing to go throughthe cumbersome process of changing an address for the pick-up ordrop-off. According to an illustration, the user may desire to bedropped off at a particular entrance to a theater (which may be amodification as compared to an original drop-off location); use of thecamera of the mobile computing device enables the drop-off location tobe changed (e.g., while the user is in the autonomous vehicle), whichotherwise may be difficult and time consuming to alter (e.g., sincethere is no driver that the user can ask to stop the car at theparticular entrance of the theater).

The above summary presents a simplified summary in order to provide abasic understanding of some aspects of the systems and/or methodsdiscussed herein. This summary is not an extensive overview of thesystems and/or methods discussed herein. It is not intended to identifykey/critical elements or to delineate the scope of such systems and/ormethods. Its sole purpose is to present some concepts in a simplifiedform as a prelude to the more detailed description that is presentedlater.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a functional block diagram of an exemplary autonomousvehicle.

FIG. 2 illustrates a functional block diagram of an exemplary mobilecomputing device.

FIG. 3 illustrates an exemplary overhead view showing a drivingenvironment of an autonomous vehicle that navigates based upon imagedata received from a mobile computing device.

FIG. 4 illustrates a functional block diagram of a computing environmentthat facilitates navigating an autonomous vehicle based upon image datareceived from a mobile computing device.

FIG. 5 illustrates a functional block diagram of an exemplary graphicaluser interface displayed on a display of a mobile computing device thatindicates a presence of an autonomous vehicle with a graphical overlay.

FIG. 6 is a flow diagram that illustrates an exemplary methodology fornavigating an autonomous vehicle based upon image data received from amobile computing device.

FIG. 7 is a flow diagram that illustrates an exemplary methodology forcontrolling an autonomous vehicle utilizing a camera of the mobilecomputing device.

FIG. 8 is a flow diagram that illustrates an exemplary methodologyexecuted by a server computing system for causing an autonomous vehicleto navigate based upon an image captured by a mobile computing device.

FIG. 9 is an exemplary computing device.

DETAILED DESCRIPTION

Various technologies pertaining to controlling operation of anautonomous vehicle are now described with reference to drawings, whereinlike reference numerals are used to refer to like elements throughout.In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of one or more aspects. It may be evident, however, thatsuch aspect(s) may be practiced without these specific details. In otherinstances, well-known structures and devices are shown in block diagramform in order to facilitate describing one or more aspects. Further, itis to be understood that functionality that is described as beingcarried out by certain system components may be performed by multiplecomponents. Similarly, for instance, a component may be configured toperform functionality that is described as being carried out by multiplecomponents.

Moreover, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or.” That is, unless specified otherwise, or clearfrom the context, the phrase “X employs A or B” is intended to mean anyof the natural inclusive permutations. That is, the phrase “X employs Aor B” is satisfied by any of the following instances: X employs A; Xemploys B; or X employs both A and B. In addition, the articles “a” and“an” as used in this application and the appended claims shouldgenerally be construed to mean “one or more” unless specified otherwiseor clear from the context to be directed to a singular form.

Further, as used herein, the terms “component” and “system” are intendedto encompass computer-readable data storage that is configured withcomputer-executable instructions that cause certain functionality to beperformed when executed by a processor. The computer-executableinstructions may include a routine, a function, or the like. It is alsoto be understood that a component or system may be localized on a singledevice or distributed across several devices. Further, as used herein,the term “exemplary” is intended to mean serving as an illustration orexample of something and is not intended to indicate a preference.

With reference now to FIG. 1, an exemplary autonomous vehicle 100 isillustrated. The autonomous vehicle 100 can navigate about roadwayswithout human conduction based upon sensor signals output by sensorsystems of the autonomous vehicle 100. The autonomous vehicle 100includes a plurality of sensor systems 102-104 (a first sensor system102 through an Nth sensor system 104). The sensor systems 102-104 are ofdifferent types and are arranged about the autonomous vehicle 100. Forexample, the first sensor system 102 may be a lidar sensor system andthe Nth sensor system 104 may be a camera (image) system. Otherexemplary sensor systems include radar sensor systems, GPS sensorsystems, sonar sensor systems, infrared sensor systems, and the like.

The autonomous vehicle 100 further includes several mechanical systemsthat are used to effectuate appropriate motion of the autonomous vehicle100. For instance, the mechanical systems can include but are notlimited to, a vehicle propulsion system 106, a braking system 108, and asteering system 110. The vehicle propulsion system 106 may be anelectric motor, an internal combustion engine, or a combination thereof.The braking system 108 can include an engine break, brake pads,actuators, and/or any other suitable componentry that is configured toassist in decelerating the autonomous vehicle 100. The steering system110 includes suitable componentry that is configured to control thedirection of movement of the autonomous vehicle 100.

The autonomous vehicle 100 additionally comprises a computing system 112that is in communication with the sensor systems 102-104 and is furtherin communication with the vehicle propulsion system 106, the brakingsystem 108, and the steering system 110. The computing system 112includes a processor 114 and memory 116 that includescomputer-executable instructions that are executed by the processor 114.In an example, the processor 114 can be or include a graphics processingunit (GPU), a plurality of GPUs, a central processing unit (CPU), aplurality of CPUs, an application-specific integrated circuit (ASIC), amicrocontroller, a programmable logic controller (PLC), a fieldprogrammable gate array (FPGA), or the like. The memory includes adirection system 118 (described in greater detail below) that isconfigured to set a requested vehicle position for a trip of a user inthe autonomous vehicle 100 and generate a route to the requested vehicleposition. The requested vehicle position can be a pick-up location forthe trip of the user in the autonomous vehicle 100 or a drop-offlocation for the trip of the user in the autonomous vehicle 100. Thedirection system 118 can set the requested vehicle position for the tripbased upon geographic location data and image data generated by a mobilecomputing device.

The memory 116 also includes an object classifier system 120. The objectclassifier system 120 is generally configured to assign labels toobjects (in proximity to the autonomous vehicle 100) captured in sensorsignals output by the sensor systems 102-104.

The memory 116 additionally includes a control system 122 that isconfigured to receive output of the direction system 118 (e.g., imagedata) and/or the object classifier system 120, and is further configuredto control at least one of the mechanical systems of the autonomousvehicle 100 (the vehicle propulsion system 108, the braking system 110,and/or the steering system 112) based upon the output of the objectclassifier system 120 and/or the direction system 118.

With reference to FIG. 2, an exemplary mobile computing device 200 isillustrated. The mobile computing device 200 includes a display 208whereupon graphical features 210 can be presented. The mobile computingdevice 200 further includes a camera 214 configured to capture images(e.g., still images, video, etc.). The mobile computing device 200 alsoincludes a processor 202 and memory 204 that includescomputer-executable instructions that are executed by the processor 202.The memory 204 comprises a camera annotation system 206. As will bedescribed in greater detail below, the camera annotation system 206 isconfigured to cause the autonomous vehicle 100 to navigate based upon animage captured by the camera 214 of the mobile computing device 200. Thecamera annotation system 206 is also configured to present a graphicaluser interface (GUI) on the display 208 of the mobile computing device(described in greater detail below). For instance, the GUI may be partof the graphical features 210.

The mobile computing device 200 also comprises input components 212which are configured to receive input from a user. For example, theinput components 212 can be or include a touchscreen, a microphone, abutton, a capacitive sensor, a combination thereof, or the like. Themobile computing device 200 can also include a geolocation receiver 216that can detect a device position of the mobile computing device 100.For example, the geolocation receiver 216 can receive global positioningsystem (GPS) data, wherein the GPS data is indicative of the deviceposition of the mobile computing device 200. However, it is contemplatedthat the geolocation receiver 216 is not limited to the foregoingexample (e.g., the device position of the mobile computing device 200can be detected by the geolocation receiver 216 in other manners). Themobile computing device may also comprise a data store (not shown).

With reference now to FIG. 1-3, exemplary operation of the autonomousvehicle 100 is now set forth. FIG. 3 depicts a top view of an exemplarydriving environment 300. It is contemplated that a user 302 is in thedriving environment 300 and that the user 302 wishes to be picked-up byan autonomous vehicle (e.g., the autonomous vehicle 100). Although theautonomous vehicle 100 is depicted as initially being in the drivingenvironment 300 in FIG. 3, it is to be understood that the autonomousvehicle 100 may initially be located outside of the driving environment300. Moreover, it is to be appreciated that the example depicted in FIG.3 can be extended to a scenario in which the user 302 desirably sets adrop-off location.

In order to effectuate pick-up by the autonomous vehicle 100, the mobilecomputing device 200 (e.g., the camera annotation system 206) operatedby the user 302 may receive input from the user 302. Responsive to theinput, the camera annotation system 206 may cause the camera 214 of themobile computing device 200 to capture an image of a field of view 304.The mobile computing device 200 can be geographically located at adevice position when the image is captured. The device position is thegeographic location of the mobile computing device 200 when the image iscaptured, and the user 302 can be assumed to be at the device position.Moreover, the image can represent a location at which the autonomousvehicle 100 desirably picks up the user 302 for a trip in the autonomousvehicle 100. Accordingly, an intended pick-up location can be set by theuser 302 as being in the field of view 304 when the image is captured bythe camera 214 of the mobile computing device 200. According to anexample, the image captured by the camera 214 of the mobile computingdevice 200 can be a still image. Pursuant to another example, the imagecaptured by the camera 214 of the mobile computing device 200 can be avideo (or a portion of a video).

Moreover, the camera annotation system 206 can cause the geolocationreceiver 216 to detect the device position (e.g., when the image iscaptured responsive to the input). Thus, the camera annotation system206 can generate geographic location data, where the geographic locationdata is indicative of the device position of the mobile computing device200 corresponding to when the image is captured. In various examples,the geographic location data may be global position system (GPS)coordinates at which the mobile computing device 200 is located, anaddress at which the mobile computing device 200 is located, anintersection of roads at which the mobile computing device 200 islocated, a name of a location at which the mobile computing device 200is located, a combination thereof, or the like.

The camera annotation system 206 of the mobile computing device 200 canfurther generate image data based upon the image. The image data isindicative of a surrounding position 306 nearby the device position,where the surrounding position 306 is selected from the image. Pursuantto an example, the surrounding position 306 can be automaticallyselected from the image (e.g., without user input, automaticallyselected by the camera annotation system 206). According to anotherexample, the surrounding position 306 can be selected based on userinput. The image data can include a distance between an object in theimage at the surrounding position 306 and the mobile computing device200 at the device position, a cardinal orientation of the camera 214 ofthe mobile computing device 200 when the image is captured, or aselected point within the image. The image data may also include theimage.

In an embodiment, the camera annotation system 206 of the mobilecomputing device 200 may display the image to the user 302 on thedisplay 208 of the mobile computing device 200. The mobile computingdevice 200 can receive a selection (e.g., user input via the inputcomponents 212) of a point within the image displayed on the display208, wherein the point that is selected specifies the surroundingposition 306; accordingly, the image data generated by the cameraannotation system 206 based upon the image can include data indicativeof the point that is selected. Pursuant to an illustration, the imagedisplayed on the display 208 can include a restaurant and a store acrossa street from each other; following this illustration, the user 302 canselect the store (e.g., the point within the image) as being thesurrounding position 306. In another embodiment, the camera annotationsystem 206 of the mobile computing device 200 may be configured toautomatically select the surrounding position (e.g. selecting a point ina central region of the image, selecting the surrounding position basedon an object detected in the image, etc.). For instance, points ofinterest in a geographic region can be predefined; if the image includesone of these points of interest, then such point can be automaticallyselected.

According to an illustration, the mobile computing device 200 maypresent the image to the user 302 on the display 208 (e.g., within aGUI). The mobile computing device 200 may receive input from the userindicative of a selected point within the image, wherein the selectedpoint is indicative of the surrounding position 306 nearby the deviceposition. In certain embodiments, points may be predefined with visualmarkers overlaying the image in the GUI, and the mobile computing device200 may receive a selection of one of the predefined points within theimage.

Further, the mobile computing device 200 can transmit the geographiclocation data and the image data to the autonomous vehicle 100 by way ofa network. The geographic location data and the image data can cause theautonomous vehicle 100 to traverse to a requested vehicle positioncorresponding to the surrounding position 306 for the trip of the userin the autonomous vehicle. By way of illustration, the surroundingposition 306 can be a bench on a sidewalk, and the requested vehicleposition corresponding to the surrounding position 306 can be a locationon a street in adjacent to the bench on the sidewalk. In the exampledepicted in FIG. 3, the requested vehicle position can be a pick-uplocation for the trip of the user 302 in the autonomous vehicle 100;yet, it is contemplated that the techniques set forth herein cansimilarly be utilized to set a drop-off location (e.g., the image can becaptured while the user 302 is riding in the vehicle 100 to controlsetting the drop-off location)

In an embodiment where the autonomous vehicle 100 has not yet begunnavigation, the autonomous vehicle 100 may generate a route from acurrent position of the autonomous vehicle to the requested vehicleposition based upon the geographic location data and the image data. Forinstance, the geographic location data can provide an initial region(e.g., a destination) for the autonomous vehicle 100 and the image datacan provide a refined sub-region which the autonomous vehicle 100 willset as the end of the route. The autonomous vehicle 100 may then controlat least one of the vehicle propulsion system 106, the braking system108, or the steering system 100 to cause the autonomous vehicle 100 tofollow the route to the requested vehicle position. In anotherembodiment in which the autonomous vehicle 100 has already begunnavigation, the autonomous vehicle 100 may modify its route in order toarrive at the requested vehicle position indicated by the image.

In particular, the autonomous vehicle 100 can receive the geographiclocation data defined via the mobile computing device 200 of the user302 and the image data generated by the mobile computing device 200. Asnoted above, the geographic location data can be indicative of thedevice position of the mobile computing device 200 of the user 302, andthe image data can be indicative of the surrounding position 306 nearbythe device position. The direction system 118 of the autonomous vehicle100 can set the requested vehicle position for the trip of the user 302in the autonomous vehicle 100 based on the geographic location data andthe image data. Moreover, the direction system 118 of the autonomousvehicle 100 can generate a route from a current vehicle position of theautonomous vehicle 100 to the requested vehicle position for the trip ofthe user 302 in the autonomous vehicle 100. Subsequent to generating theroute, the control system 122 of the autonomous vehicle 100 may controlat least one of the vehicle propulsion system 106, the braking system108, or the steering system 110 to cause the autonomous vehicle 100 tofollow the route to the requested vehicle position.

Responsive to an arrival of the autonomous vehicle 100 at the requestedvehicle position (e.g., on the street adjacent to the surroundingposition 306), the autonomous vehicle 100 may transmit a message to themobile computing device 200 (e.g., directly, via a network) indicativeof the arrival of the autonomous vehicle 100 at the requested vehicleposition. The message may also include data indicative of the positionof the autonomous vehicle; yet, the claimed subject matter is not solimited.

The mobile computing device 200 may receive input from the user causingthe mobile computing device 200 to capture a second image utilizing thecamera 214 (e.g., after receiving the message indicative of the arrivalof the autonomous vehicle 100). Subsequent to capturing the secondimage, the mobile computing device 200 may display a GUI on the display208 of the mobile computing device 200. The GUI can include the secondimage captured utilizing the camera and a graphical overlay. Thegraphical overlay can indicate a presence of the autonomous vehicle 100at the requested vehicle position. The graphical overlay can highlightthe autonomous vehicle 100 within the second image with visual indicia.In an example, the visual indicia can be coloring, a pattern, or thelike that overlays the second image. The mobile computing device 200 cangenerate the graphical overlay of the GUI based on the second image anddata included in the message received from the autonomous vehicle 100indicating that the autonomous vehicle has arrived at the requestedvehicle position. Pursuant to an illustration, the second image may begenerated from a live-view of video obtained using the camera 214 of themobile computing device 200. For instance, as a field of view of thecamera 214 is changed over time, the mobile computing device 200 maymodify the GUI to allow for identifying the autonomous vehicle 100(e.g., shown via the graphical overlay on the live-view of the video).Thus, the camera 214 of the mobile computing device 200 can be used bythe user 302 to identify that the autonomous vehicle 100 has beenassigned to provide a ride to the user 302 (e.g., enabling the user todisambiguate between vehicles by holding up the mobile computing device200 and viewing the image captured by the camera 214 on the display 208to identify the correct autonomous vehicle 100, the overlay displayed onthe display 208 can signify the correct autonomous vehicle 100 for theuser 302).

In an embodiment, subsequent to the autonomous vehicle 100 arriving atthe requested vehicle position, the mobile computing device 200 canreceive direction data indicative of a path (e.g., from a currentposition of the user 302) to the requested vehicle position. The mobilecomputing device 200 may display the direction data as part of the GUIon the display 208 of the mobile computing device 200 (e.g., presentedto the user 302). In a specific example, displaying the direction datamay include presenting a series of graphical arrows within the graphicaloverlay of the GUI. Each arrow in the series of arrows may indicate astep to take in order to reach the requested vehicle position at whichthe autonomous vehicle 100 is located. Accordingly, when the autonomousvehicle 100 arrives at a destination, the user 302 can utilize thecamera 214 of the mobile computing device 100 to capture image(s) (e.g.,video) and the display 208 of the mobile computing device 100 to displaythe image(s) along with spatial instructions and cues to find theautonomous vehicle 100.

In an example, an image can be captured utilizing the camera 214 of themobile computing device 200 subsequent to the arrival of the autonomousvehicle 100 at the requested vehicle position. At least a portion of theautonomous vehicle 100 can be depicted in this image. Accordingly, theautonomous vehicle can be authenticated by the camera annotation system206 of the mobile computing device 200 based on the image. Moreover,responsive to authenticating the autonomous vehicle 100, anauthentication notification that indicates authentication of theautonomous vehicle 100 in the image can be transmitted from the mobilecomputing device 200 to the autonomous vehicle 302 (e.g., directly, byway of the network). The authentication notification can be received bythe autonomous vehicle 100; responsive to receipt of the authenticationnotification from the mobile computing device 200, the autonomousvehicle 100 can cause a door (or doors) of the autonomous vehicle 100 tounlock.

While the above-described process has been described with reference to apick-up location of the user 302, it is to be understood that theabove-described techniques may also be utilized for a drop-off locationof the user 302. For instance, prior to or subsequent to the autonomousvehicle 100 arriving at the position within the sub-region 306, themobile computing device 200 may receive input from the user 302 causingthe mobile computing device 200 to transmit the geographic location dataand the image data to the autonomous vehicle 100; again, such data canbe utilized to control setting the requested vehicle position for thetrip of the user 302 in the autonomous vehicle 100 (e.g., the drop-offlocation for the trip of the user 302 in the autonomous vehicle 100).

Accordingly, it is to be appreciated that the requested vehicle positioncan be a pick-up location for the trip of the user 302 in the autonomousvehicle 100. Alternatively, it is contemplated that the requestedvehicle position can be a drop-off location for the trip of the user 302in the autonomous vehicle 100. Further, a drop-off location or a pick-uplocation for the trip of the user 302 in the autonomous vehicle 100 canbe adjusted utilizing the techniques set forth herein (e.g., thedrop-off location can be changed to the requested vehicle position whilethe user 302 is riding in the autonomous vehicle 100 utilizing thetechniques set forth herein).

Turning now to FIG. 4, an exemplary computing environment 400 thatfacilitates navigating an autonomous vehicle based upon image datareceived from a mobile computing device is illustrated. The computingenvironment 400 includes a server computing system 402. The servercomputing system 402 comprises a processor 404 and memory 406, whereinthe memory 406 has a server direction system 408 loaded therein. Ingeneral, the server direction system 408 is configured to communicatewith the direction system 118 of the autonomous vehicle 100 and/or thecamera annotation system 206 of the mobile computing device 200 in orderto effectuate navigation of the autonomous vehicle 100 based upon animage received from the mobile computing device 200. The serverdirection system 408 is also configured to communicate with the cameraannotation system 206 in order to facilitate displaying the GUI on thedisplay 208 of the mobile computing device 200.

The computing device 402 may also include a data store 410. The datastore 410 may comprise geographic location maps 412. Data from thegeographic location maps 412, for instance, can be retrieved by theautonomous vehicle 100 and utilized to generate the route from thecurrent vehicle position of the autonomous vehicle 100 to the requestedvehicle position for the trip of the user in the autonomous vehicle 100.

The computing environment 400 additionally includes the autonomousvehicle 100 and the mobile computing device 200 operated by the user302. The server computing system 402 is in communication with theautonomous vehicle 100 and the mobile computing device 200 by way of anetwork 414 (e.g., the Internet). Additionally, the autonomous vehicle100 and the mobile computing device 200 may be in communication by wayof the network 414.

The foregoing techniques described in connection with FIGS. 1-3 can beperformed in the computing environment 400. Moreover, it is contemplatedthat some of the operations described above as being executed by theautonomous vehicle 100 and/or the mobile computing device 200 may beperformed by the server computing system 402. For instance, the servercomputing system 402 may receive the geographic location data from themobile computing device 200. The server computing system 402 may alsoreceive an image captured by the camera 214 of the mobile computingdevice 200 when the mobile computing device 200 is located at the deviceposition. Following this example, the server direction system 408 canselect a surrounding position nearby the device position, where thesurrounding position is selected by the server direction system 408based on the image. Additionally, a requested vehicle position for atrip of the user 306 in the autonomous vehicle 100 can be identified bythe server direction system 408 based on the geographic location dataand the surrounding position. The server direction system 408 canfurther transmit a command to the autonomous vehicle 100 to cause theautonomous vehicle 100 to traverse to the requested vehicle position forthe trip of the user 306 in the autonomous vehicle 100.

According to an example, the server computing system 402 can also theroute from the current position of the autonomous vehicle 100 torequested vehicle position; yet, the claimed subject matter is not solimited. Pursuant to another example, when the autonomous vehicle 100arrives at the requested vehicle position, the autonomous vehicle 100may transmits a message to the server computing system 402 indicatingthat the autonomous vehicle 100 has arrived at the requested vehicleposition. Responsive to receiving the message, the server computingsystem 402 may transmit data causing a GUI to be presented on thedisplay 208 of the mobile computing device 200. The GUI can include acurrent image captured by the camera 214 of the mobile computing device200 and a graphical overlay. The graphical overlay can indicate apresence of the autonomous vehicle 100.

Referring now to FIG. 5, an exemplary GUI 500 is illustrated. The GUI500 may be used in accordance with the technologies described above. TheGUI includes an image 502 (e.g., the second image) comprising anautonomous vehicle 504, as well as a graphical overlay 506 to the image502. The graphical overlay 506 highlights the autonomous vehicle 504. Inan example, multiple vehicles and/or multiple autonomous vehicles mayalso be present in the image 502 in addition to the autonomous vehicle504. As such, the user 302 may be unaware of which vehicle is theautonomous vehicle 504. In an embodiment, the graphical overlay 506 mayhighlight the autonomous vehicle 504 with visual indicia, such ascoloring. The mobile computing device 200 can generate the graphicaloverlay 506 based on the current image and/or data included in a messagereceived from the autonomous vehicle 504 indicating that the autonomousvehicle 504 has arrived at the requested vehicle position.

In another embodiment, subsequent to the autonomous vehicle 100 arrivingat the requested vehicle position, the autonomous vehicle 100 may causedirection data to be received by the mobile computing device 200. Thedirection data may be indicative of a path from the position of the user302 to the position of the autonomous vehicle 100. The mobile computingdevice 200 may then cause the direction data to be presented to the user302 within the GUI 500. In a specific example, causing the directiondata to be presented to the user 302 may comprise presenting a series ofgraphical arrows within the GUI 500. Each arrow in the series of arrowsmay indicate a step that user 302 is to take in order to reach theposition of the autonomous vehicle 100.

In an additional feature, the mobile computing device 200 may causevenue information to be presented to the user 302 within the GUI 500.The venue information can be presented as a graphical overlay 506 ontothe image 502 include a name of the venue, a review of the venue, arecommendation for the user 302, etc. The mobile computing device 200can then receive input to select the graphical overlay 506 and furtherreceive input to save the venue into a profile of the user 302. It isnoted that multiple locations and venues can be saved into the profileof the user 302. Furthermore, it is also noted that the mobile computingdevice 200 can receive input to save multiple location and venues in asequential order (forming a string of locations and venues) to theprofile of the user 302. The mobile computing device 200 can thenreceive input to share a location or a string of locations with a secondmobile computing device of a second user.

According to an example, the GUI 500 displayed on the display 208 of themobile computing device 200 can include predefined points of interestoverlaid over image(s) (e.g., video) captured by the camera 214 of themobile computing device 200. Following this example, the user can selectone of more of the predefined points of interest (e.g., to set arequested vehicle position). Moreover, it is contemplated that the usercan pick a user supplied point via the GUI 500 (e.g., a point that isnot a predefined point of interest). Accordingly, the image(s) capturedby the camera 214 can provide a view that acts as a guide as well as aninteractive element for controlling operation of the autonomous vehicle100.

Pursuant to another example, the GUI 500 can show ratings as part of theoverlay 506. By way of example, a rating of a restaurant can be shownover an image of the restaurant through the camera view displayed aspart of the GUI 500 on the display 208 of the mobile computing device200. Further, as described herein, the user can select the restaurant(e.g., if the user desires to set a drop-off location to a positionadjacent to the restaurant).

According to another example, it is to be appreciated that a GUI similarto the GUI 500 can be projected on a window inside an autonomousvehicle. The GUI projected on the window can enable similar interactionsby the user as compared to interactions with the GUI 500 on the display208 of the mobile computing device 200.

In accordance with a further example, the GUI 500 can be a rideshare mapinterface. Following this example, the user can customize and shareplace titles on the rideshare map interface. For instance, the user mayannotate his or her notes (or notes of another user) via the camera viewincluded in the GUI 500.

FIGS. 6-8 illustrate exemplary methodologies relating to controlling anautonomous vehicle based upon an image captured by a camera of a mobilecomputing device. While the methodologies are shown and described asbeing a series of acts that are performed in a sequence, it is to beunderstood and appreciated that the methodologies are not limited by theorder of the sequence. For example, some acts can occur in a differentorder than what is described herein. In addition, an act can occurconcurrently with another act. Further, in some instances, not all actsmay be required to implement a methodology described herein.

Moreover, the acts described herein may be computer-executableinstructions that can be implemented by one or more processors and/orstored on a computer-readable medium or media. The computer-executableinstructions can include a routine, a sub-routine, programs, a thread ofexecution, and/or the like. Still further, results of acts of themethodologies can be stored in a computer-readable medium, displayed ona display device, and/or the like.

Referring now to FIG. 6, an exemplary methodology 600 executed by anautonomous vehicle for navigating the autonomous vehicle based uponimage data received from a mobile computing device of a user isillustrated. The methodology 600 begins at 602, and at 604, geographiclocation data defined via the mobile computing device of the user can bereceived. The geographic location data is indicative of a deviceposition of the mobile computing device of the user. At 606, image datagenerated by the mobile computing device can be received. The image datais indicative of a surrounding position nearby the device position.Moreover, the surrounding position is selected from an image captured bya camera of the mobile computing device when the mobile computing deviceis located at the device position.

At 608, a requested vehicle position can be set for a trip of the userin the autonomous vehicle based on the geographic location data and theimage data. At 610, a route can be generated from a current vehicleposition of the autonomous vehicle to the requested vehicle position forthe trip of the user in the autonomous vehicle. At 612, at least one ofa vehicle propulsion system, a braking system, and/or a steering systemof the autonomous vehicle can be controlled such that the autonomousvehicle follows the route to the requested vehicle position. Themethodology 600 concludes at 614.

Turning now to FIG. 7, an exemplary methodology 700 executed by a mobilecomputing device to control an autonomous vehicle utilizing a camera ofthe mobile computing device is illustrated. The methodology 700 beginsat 702, and at 704, an image can be captured utilizing the camera of themobile computing device. The mobile computing device can begeographically located at a device position when the image is captured.At 706, geographic location data indicative of a device position of themobile computing device can be generated. At 708, image data can begenerated based upon the image. The image data is indicative of asurrounding position nearby the device position. Moreover, thesurrounding position is selected from the image. At 710, the geographiclocation data and the image data can be transmitted to the autonomousvehicle by way of a network. The geographic location data and the imagedata can cause the autonomous vehicle to traverse to a requested vehicleposition corresponding to the surrounding position for a trip of a userin the autonomous vehicle. The methodology 700 ends at 712.

Referring now to FIG. 8, an exemplary methodology 800 executed by aserver computing system for causing an autonomous vehicle to navigatebased upon an image captured by a mobile computing device is depicted.The methodology 800 begins at 802, and at 804, geographic location datadefined via the mobile computing device of the user can be received. Thegeographic location data can be indicative of a device position of themobile computing device of the user. At 806, an image captured by acamera of the mobile computing device when the mobile computing deviceis located at the device position can be received.

At 808, a surrounding position nearby the device position can beselected. The surrounding position can be selected (by the servercomputing system) based on the image. According to various examples, thesurrounding position can be selected based on a central point in theimage, an object detected in the image, or the like. At 810, a requestedvehicle position for a trip of the user in the autonomous vehicle can beidentified based on the geographic location data and the surroundingposition. At 812, a command can be transmitted to the autonomous vehicleto cause the autonomous vehicle to traverse to the requested vehicleposition for the trip of the user in the autonomous vehicle. Therequested vehicle position can be a pick-up location or a drop-offlocation for the trip of the user in the autonomous vehicle.

Referring now to FIG. 9, a high-level illustration of an exemplarycomputing device 900 that can be used in accordance with the systems andmethodologies disclosed herein is illustrated. For instance, thecomputing device 900 may be or include the computing system 112.According to another example, the computing device 900 may be or includethe mobile computing device 200. In accordance with yet another example,the server computing system 402 can be or include the computing device900. The computing device 900 includes at least one processor 902 thatexecutes instructions that are stored in a memory 904. The instructionsmay be, for instance, instructions for implementing functionalitydescribed as being carried out by one or more modules and systemsdiscussed above or instructions for implementing one or more of themethods described above. The processor 902 may be a CPU, a GPU, aplurality of GPUs, a multi-core processor, etc. The processor 902 mayaccess the memory 904 by way of a system bus 906. In addition to storingexecutable instructions, the memory 904 may also store geographiclocation data, image data, etc.

The computing device 900 additionally includes a data store 908 that isaccessible by the processor 902 by way of the system bus 906. The datastore 908 may include executable instructions, geographic location data,image data, etc. The computing device 900 also includes an inputinterface 910 that allows external devices to communicate with thecomputing device 900. For instance, the input interface 910 may be usedto receive instructions from an external computer device, etc. Thecomputing device 900 also includes an output interface 912 thatinterfaces the computing device 900 with one or more external devices.For example, the computing device 900 may transmit control signals tothe vehicle propulsion system 106, the braking system 108, and/or thesteering system 110 by way of the output interface 912.

Additionally, while illustrated as a single system, it is to beunderstood that the computing device 900 may be a distributed system.Thus, for instance, several devices may be in communication by way of anetwork connection and may collectively perform tasks described as beingperformed by the computing device 900.

Various functions described herein can be implemented in hardware,software, or any combination thereof. If implemented in software, thefunctions can be stored on or transmitted over as one or moreinstructions or code on a computer-readable medium. Computer-readablemedia includes computer-readable storage media. A computer-readablestorage media can be any available storage media that can be accessed bya computer. By way of example, and not limitation, suchcomputer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM orother optical disk storage, magnetic disk storage or other magneticstorage devices, or any other medium that can be used to store desiredprogram code in the form of instructions or data structures and that canbe accessed by a computer. Disk and disc, as used herein, includecompact disc (CD), laser disc, optical disc, digital versatile disc(DVD), floppy disk, and Blu-ray disc (BD), where disks usually reproducedata magnetically and discs usually reproduce data optically withlasers. Further, a propagated signal is not included within the scope ofcomputer-readable storage media. Computer-readable media also includescommunication media including any medium that facilitates transfer of acomputer program from one place to another. A connection, for instance,can be a communication medium. For example, if the software istransmitted from a website, server, or other remote source using acoaxial cable, fiber optic cable, twisted pair, digital subscriber line(DSL), or wireless technologies such as infrared, radio, and microwave,then the coaxial cable, fiber optic cable, twisted pair, DSL, orwireless technologies such as infrared, radio and microwave are includedin the definition of communication medium. Combinations of the aboveshould also be included within the scope of computer-readable media.

Alternatively, or in addition, the functionally described herein can beperformed, at least in part, by one or more hardware logic components.For example, and without limitation, illustrative types of hardwarelogic components that can be used include Field-programmable Gate Arrays(FPGAs), Application-specific Integrated Circuits (ASICs),Application-specific Standard Products (ASSPs), System-on-a-chip systems(SOCs), Complex Programmable Logic Devices (CPLDs), etc.

What has been described above includes examples of one or moreembodiments. It is, of course, not possible to describe everyconceivable modification and alteration of the above devices ormethodologies for purposes of describing the aforementioned aspects, butone of ordinary skill in the art can recognize that many furthermodifications and permutations of various aspects are possible.Accordingly, the described aspects are intended to embrace all suchalterations, modifications, and variations that fall within the spiritand scope of the appended claims. Furthermore, to the extent that theterm “includes” is used in either the detailed description or theclaims, such term is intended to be inclusive in a manner similar to theterm “comprising” as “comprising” is interpreted when employed as atransitional word in a claim.

What is claimed is:
 1. An autonomous vehicle, comprising: a vehiclepropulsion system; a braking system; a steering system; and a computingsystem that is in communication with the vehicle propulsion system, thebraking system, and the steering system, the computing systemcomprising: a processor; memory storing instructions that, when executedby the processor, cause the processor to perform acts comprising:receiving geographic location data defined via a mobile computing deviceof a user, the geographic location data is indicative of a deviceposition of the mobile computing device of the user; receiving imagedata generated by the mobile computing device, the image data isindicative of a surrounding position nearby the device position, whereinthe surrounding position is selected from an image captured by a cameraof the mobile computing device when the mobile computing device islocated at the device position; setting a requested vehicle position fora trip of the user in the autonomous vehicle based on the geographiclocation data and the image data; generating a route from a currentvehicle position of the autonomous vehicle to the requested vehicleposition for the trip of the user in the autonomous vehicle; andcontrolling at least one of the vehicle propulsion system, the brakingsystem, or the steering system such that the autonomous vehicle followsthe route to the requested vehicle position.
 2. The autonomous vehicleof claim 1, wherein the requested vehicle position is a pick-up locationfor the trip of the user in the autonomous vehicle.
 3. The autonomousvehicle of claim 1, wherein the requested vehicle position is a drop-offlocation for the trip of the user in the autonomous vehicle.
 4. Theautonomous vehicle of claim 1, wherein setting the requested vehicleposition for the trip of the user in the autonomous vehicle furthercomprises adjusting one of a pick-up location or a drop-off location forthe trip of the user in the autonomous vehicle to be the requestedvehicle position.
 5. The autonomous vehicle of claim 1, the acts furthercomprising: responsive to an arrival of the autonomous vehicle at therequested vehicle position, transmitting a message indicative of thearrival of the autonomous vehicle at the requested vehicle position tothe mobile computing device.
 6. The autonomous vehicle of claim 1,wherein the geographic location data comprises at least one of globalposition system (GPS) coordinates, an address, an intersection of roads,or a name of a location.
 7. The autonomous vehicle of claim 1, the actsfurther comprising: subsequent to an arrival of the autonomous vehicleat the requested vehicle position, receiving an authenticationnotification from the mobile computing device, the authenticationnotification indicates authentication of the autonomous vehicle in asecond image captured by the camera of the mobile computing device; andresponsive to receiving the authentication notification from the mobilecomputing device, causing a door of the autonomous vehicle to unlock. 8.The autonomous vehicle of claim 1, wherein the image data comprises atleast one of a distance between an object in the image at thesurrounding position and the mobile computing device at the deviceposition, a cardinal orientation of the camera of the mobile computingdevice when the image is captured, or a selected point within the image.9. The autonomous vehicle of claim 1, wherein the image data comprisesthe image captured by the camera of the mobile computing device.
 10. Amobile computing device, comprising: a camera; a processor; and memorystoring instructions that, when executed by the processor, cause theprocessor to perform acts comprising: capturing an image utilizing thecamera, the mobile computing device being geographically located at adevice position when the image is captured; generating geographiclocation data, the geographic location data is indicative of the deviceposition of the mobile computing device; generating image data basedupon the image, the image data is indicative of a surrounding positionnearby the device position, and the surrounding position is selectedfrom the image; and transmitting the geographic location data and theimage data to an autonomous vehicle by way of a network, wherein thegeographic location data and the image data causes the autonomousvehicle to traverse to a requested vehicle position corresponding to thesurrounding position for a trip of a user in the autonomous vehicle. 11.The mobile computing device of claim 10, further comprising: a display;wherein the acts further comprise: receiving, by way of the network, amessage indicative of an arrival of the autonomous vehicle at therequested vehicle position; and subsequent to receiving the message:capturing a second image utilizing the camera; and displaying agraphical user interface (GUI) on the display, the GUI comprises thesecond image captured utilizing the camera and a graphical overlay, thegraphical overlay indicates a presence of the autonomous vehicle at therequested vehicle position.
 12. The mobile computing device of claim 11,the acts further comprising: subsequent to receiving the messageindicative of the arrival of the autonomous vehicle at the requestedvehicle position, receiving direction data indicative of a path to therequested vehicle position; and displaying the direction data as part ofthe GUI on the display of the mobile computing device.
 13. The mobilecomputing device of claim 12, wherein displaying the direction data aspart of the GUI on the display comprises presenting a series of arrowswithin the graphical overlay of the GUI, each arrow in the series ofarrows indicative of a step to take in order to reach the requestedvehicle position at which the autonomous vehicle is located.
 14. Themobile computing device of claim 11, wherein the graphical overlayhighlights the autonomous vehicle within the second image with visualindicia.
 15. The mobile computing device of claim 10, the acts furthercomprising: subsequent to an arrival of the autonomous vehicle at therequested vehicle position, capturing a second image utilizing thecamera, wherein at least a portion of the autonomous vehicle is depictedin the second image; authenticating the autonomous vehicle based on thesecond image; and responsive to authenticating the autonomous vehicle,transmitting an authentication notification that indicatesauthentication of the autonomous vehicle in the second image, whereinthe authentication notification causes a door of the autonomous vehicleto unlock.
 16. The mobile computing device of claim 10, furthercomprising: a display; wherein the acts further comprise: subsequent tocapturing the image, displaying the image on the display; and receivinga selection of a point within the image displayed on the display, thepoint that is selected specifies the surrounding position, wherein theimage data generated based upon the image comprises data indicative ofthe point that is selected.
 17. The mobile computing device of claim 10,wherein generating the image data based upon the image comprises atleast one of: determining a distance between an object in the image atthe surrounding position and the mobile computing device at the deviceposition; or determining a cardinal orientation of the camera of themobile computing device when the image is captured.
 18. The mobilecomputing device of claim 10, wherein the requested vehicle position isone of a pick-up location for the trip of the user in the autonomousvehicle or a drop-off location for the trip of the user in theautonomous vehicle.
 19. The mobile computing device of claim 10, whereinthe geographic location data and the image data are transmitted to theautonomous vehicle by way of a network to adjust one of a pick-uplocation or a drop-off location for the trip of the user in theautonomous vehicle to be the requested vehicle position.
 20. A methodexecuted by a processor of a server computing system that is in networkcommunication with an autonomous vehicle and a mobile computing deviceoperated by a user, the method comprising: receiving geographic locationdata defined via the mobile computing device of the user, the geographiclocation data is indicative of a device position of the mobile computingdevice of the user; receiving an image captured by a camera of themobile computing device when the mobile computing device is located atthe device position; selecting a surrounding position nearby the deviceposition, the surrounding position being selected based on the image;identifying a requested vehicle position for a trip of the user in theautonomous vehicle based on the geographic location data and thesurrounding position; and transmitting a command to the autonomousvehicle to cause the autonomous vehicle to traverse to the requestedvehicle position for the trip of the user in the autonomous vehicle, therequested vehicle position being one of a pick-up location or a drop-offlocation.